home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Demos / AppMaker 2.0b3 / Demo AppMaker 1.5 / Demo AppMaker™ / Demo AppMaker™.rsrc / TmpP_106_ModalDialog < prev    next >
Encoding:
Text File  |  1992-04-08  |  2.2 KB  |  125 lines

  1. { %filename% -- modal dialog }
  2. { Created %date% %time% by AppMaker }
  3.  
  4. Unit %unitname%;
  5. Interface
  6.  
  7. Uses
  8.     %if lang = MPW%
  9.         Types,
  10.         Quickdraw,
  11.         Controls,
  12.         Dialogs,
  13.         Events,
  14.         Lists,
  15.         Menus,
  16.         StandardFile,
  17.         TextEdit,
  18.  
  19.     %end if%
  20.     ResourceDefs,
  21.     Miscellany,
  22.     WindowAids,
  23.     DialogAids;
  24.  
  25. type
  26.     %dlogname%Rec%        %= record
  27.         %for each item gen dialog field%
  28.  
  29.         %if not haveField%
  30.             dummy:        integer;
  31.         %endif%
  32.     end;
  33.     %dlogname%RecPtr%    %= ^%dlogname%Rec;
  34.  
  35. {----------}
  36. Function Get%dlogname%    (var %dlogname%:    %dlogname%Rec): boolean;
  37.  
  38. {----------}
  39. Implementation
  40.  
  41. %if lang = MPW%
  42.     {$D+}
  43.     {$R+}
  44.     {$OV+}
  45.     {$S %unitname%}
  46.  
  47. %end if%
  48. const
  49.     %for each item gen itemNr%
  50.  
  51. %push needsRefCon%
  52. %for each item gen auxiliary%
  53. %if needsFilter%
  54.     {----------}
  55.     Function Filter%dlogname%%    %(whichDialog:    DialogPtr;
  56.                              var event:            EventRecord;
  57.                              var itemHit:        integer): boolean;
  58.     var
  59.         filtered:        boolean;
  60.         data:            %dlogname%RecPtr;
  61.     Begin
  62.         filtered := false;
  63.         %for each item gen filter%
  64.  
  65.         if not filtered then begin
  66.             filtered := StandardFilter (whichDialog, event, itemHit);
  67.         end;
  68.         Filter%dlogname% := filtered;
  69.     End; {Filter%dlogname%}
  70.  
  71. %endif%
  72. {----------}
  73. Function Get%dlogname%    (var %dlogname%:    %dlogname%Rec): boolean;
  74. var
  75.     result:            boolean;
  76.     theDialog:        DialogPtr;
  77.     savePort:        GrafPtr;
  78.     done:            boolean;
  79.     itemNr:            integer;
  80. Begin
  81.     GetPort (savePort);
  82.     InitCursor;
  83.     theDialog := GetNewDialog (%dlogname%ID, nil, pointer (-1));
  84.     %if needsRefCon%
  85.         SetWRefCon (theDialog, longint (@%dlogname%));
  86.     %endif%
  87.     SetPort (theDialog);
  88.     with %dlogname% do begin
  89.         %for each item gen set%
  90.  
  91.         ShowWindow (theDialog);
  92.         OutlineButton (1);
  93.         done := false;
  94.         while not done do begin
  95.             %for each item gen enable%
  96.  
  97.             %if procID = 5%
  98.                 %if needsFilter%
  99.                     MovableDialog (@Filter%dlogname%, itemNr);
  100.                 %else%
  101.                     MovableDialog (@StandardFilter, itemNr);
  102.                 %end if%
  103.             %else%
  104.                 %if needsFilter%
  105.                     ModalDialog (@Filter%dlogname%, itemNr);
  106.                 %else%
  107.                     ModalDialog (@StandardFilter, itemNr);
  108.                 %end if%
  109.             %end if%
  110.             case itemNr of
  111.                 %for each item gen hit%
  112.  
  113.             end; {case}
  114.         end; {while}
  115.         %for each item gen finish%
  116.  
  117.     end; {with}
  118.     DisposDialog (theDialog);
  119.     SetPort (savePort);
  120.     Get%dlogname% := result;
  121. End; {Get%dlogname%}
  122.  
  123. End. {%unitname%}
  124. %pop needsRefCon%
  125.